Prof. Washington Santos da Silva
25/04/2023
Análise Exploratória de Dados (Exploratory Data Analysis (EDA))
– Wickham & Grolemund, Visualize
Import: importar/inserir seus dados no R.
Tidy: Armazenar seus dados em um formato consistente.
Transform: – criando novas variáveis a partir das já existentes e sumarizar informações.
Visualize: Representar visualmente seus dados.
Esta parte do livro mostra como usar a visualização e a transformação para explorar dados de maneira sistemática.
EDA é um ciclo iterativo no qual:
- Geramos perguntas sobre os dados.
- Procuramos por respostas visualizando, transformando e modelando os
dados.
- Usamos o que aprendemos para refinar as perguntas e/ou gerar novas
perguntas.
- A EDA não é um processo formal com um conjunto estrito de regras.
- Durante as fases iniciais da EDA, devemos nos sentir livres para
investigar quaisquer ideias que surjam.
- Algumas ideias irão gerar frutos, outras serão descartadas.
- Na medida em que a exploração continua, devemos nos focar em algumas
questões e áreas mais relevantes e produtivas.
A EDA é uma parte importante de qualquer análise de dados:
Variação é a tendência dos valores de uma variável aleatória de mudar o valor assumido de realização para realização.
Variáveis categóricas também são aleatórias e podem variar se “medirmos” seus diferentes níveis.
Cada variável aleatória tem seu próprio padrão de variação, que pode revelar informações importantes e interessantes.
A melhor maneira de entender um padrão é visualizar a distribuição dos valores da variável.
Dois tipos de perguntas sobre os dados sempre úteis para fazer descobertas:
Que tipo de variação ocorre dentro das variáveis?
Que tipo de covariação ocorre entre as variáveis?
O restante desta aula foca-se nestas duas perguntas.
Características observáveis na distribuição de variáveis numéricas
Simetria/Assimetria: A distribuição é simétrica: assimétrica a esquerda ou a direita?.
Outliers: Há um ou mais valores muito distantes da maioria dos dados?
Multimodalidade: A distribuição possui dois ou mais picos/clusters?
Gaps: Há intervalos de valores que não contém dados?
Erros: Há valores fora do intervalo factível?
Por que visualizar a distribuição dos dados?
Customizando um Histograma
h1c <- ggplot(carteira, aes(x = VALE)) +
geom_histogram() +
labs(x = "Retornos",
y = "Frequência",
title = "Vale: Retornos das Ações") +
xlim(-0.3, 0.3)
h1cHistograma
Customizando:
h2c <- ggplot(carteira, aes(x = PETR4.SA)) +
geom_histogram() +
labs(x = "Retornos",
y = "Frequência",
title = "Petrobrás: Retornos das Ações") +
xlim(-0.3, 0.3)
h2cCustomizando
h3c <- ggplot(carteira, aes(x = WEGE3.SA)) +
geom_histogram() +
labs(x = "Retornos",
y = "Frequência",
title = "WEG: Retornos das Ações") +
xlim(-0.3, 0.3)
h3cDensidade Empírica
Customizando
d1c <- ggplot(carteira, aes(x = VALE)) +
geom_density() +
labs(x = "Retornos",
y = "Densidade",
title = "Vale: Retornos das Ações") +
xlim(-0.3, 0.3)
d1cDensidade Empírica
Customizando
d2c <- ggplot(carteira, aes(x = PETR4.SA)) +
geom_density() +
labs(x = "Retornos",
y = "Densidade",
title = "Petrobrás: Retornos das Ações") +
xlim(-0.3, 0.3)
d2cDensidade Empírica
Customizando
d3c <- ggplot(carteira, aes(x = WEGE3.SA)) +
geom_density() +
labs(x = "Retornos",
y = "Densidade",
title = "WEG: Retornos das Ações") +
xlim(-0.3, 0.3)
d3cDensidade Empírica: Múltiplos gráficos em um painel
Densidade Empírica: Múltiplos gráficos em um painel
Histograma com Densidade Empírica
h1_d <- ggplot(carteira, aes(x = VALE)) +
geom_histogram(aes(y = ..density..)) +
geom_density(col = "blue", size = 1.5)
h1_dBoxplot
Boxplot: coord_flip() inverte a orientação
Customizando
b1c <- ggplot(carteira, aes(x = VALE)) +
geom_boxplot() +
labs(x = "Retornos",
y = NULL,
title = "Vale: Retornos das Ações") +
xlim(-0.3, 0.3)
b1cBoxplot
Customizando
b2c <- ggplot(carteira, aes(x = PETR4.SA)) +
geom_boxplot() +
labs(x = "Retornos",
y = NULL,
title = "Petrobrás: Retornos das Ações") +
xlim(-0.3, 0.3)
b2cBoxplot
Customizando
b3c <- ggplot(carteira, aes(x = WEGE3.SA)) +
geom_boxplot() +
labs(x = "Retornos",
y = NULL,
title = "WEG: Retornos das Ações") +
xlim(-0.3, 0.3)
b3cBoxplot: Múltiplos gráficos em um painel
Gráficos de Dispersão:
Covariação: Dispersão e \(r_{xy}\)
verbete na wikipedia
Covariação: Quarteto de Ascombe
Covariação: Gráfico de Dispersão
Covariação: Gráfico de Dispersão
Covariação: Gráfico de Dispersão
ggplot(data = carteira) +
geom_point(mapping = aes(x = VALE, y = PETR4.SA)) +
geom_smooth(mapping = aes(x = VALE, y = PETR4.SA), method = "lm", se = FALSE)Covariação: Gráfico de Dispersão
Covariação: Gráfico de Dispersão
Covariação: Gráfico de Dispersão
ggplot(data = carteira) +
geom_point(mapping = aes(x = WEGE3.SA, y = PETR4.SA)) +
geom_smooth(mapping = aes(x = WEGE3.SA, y = PETR4.SA), method = "lm", se = FALSE)Covariação: Gráfico de Dispersão
Covariação: Gráfico de Dispersão
Covariação: Gráfico de Dispersão
ggplot(data = carteira) +
geom_point(mapping = aes(x = WEGE3.SA, y = VALE)) +
geom_smooth(mapping = aes(x = WEGE3.SA, y = VALE), method = "lm", se = FALSE)Tudo ao Mesmo Tempo
Características observáveis em gráficos de séries temporais:
Tendência: É o crescimento ou decrescimento de longo prazo observado nos dados.
Sazonalidade: Um padrão sazonal ocorre quando uma série temporal é afetada por fatores sazonais, como a época do ano ou o dia da semana.
Ciclos: Um ciclo ocorre se observamos crescimentos e decrescimento nos dados não apresentam um período fixo.
Sistema Gerenciador de Séries do Banco Central do Brasil
Todo pesquisador de finanças e economia deve conhecer o Sistema Gerenciador de Séries Temporais do Banco Central do Brasil.
Pacotes R que se comunicam com a API do Banco
Central:
library(GetBCBData)
library(ggplot2)
# define ids
id.series <- c(utilizacao_capacidade_instalada = 1344)
first.date = '2010-01-01'
# obtem serie do bcb
df_uci <- gbcbd_get_series(id = id.series,
first.date = first.date,
last.date = Sys.Date(),
use.memoise = FALSE)
# grafico de linha via ggplot2
ggplot(data = df_uci, aes(x = ref.date, y = value)) +
geom_line(color = "blue") +
labs(x = 'Trimestre', y = 'Utilização da Capacidade Instalada (%)',
title = 'Utilização da capacidade instalada - Geral (FGV)',
subtitle = "Periodicidade: Trimestral",
caption = "Fonte: Elaborado pelo Autor com dados da FGV") Gráfico de Linha para Séries Temporais